home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / g5109b.zip / G5.ZIP / G5_STRUC.ZIP / G5_STRUC.PAS < prev    next >
Pascal/Delphi Source File  |  1996-11-27  |  13KB  |  229 lines

  1. {
  2.   *** NOTE *****************************************************************
  3.    I made a BIG boo-boo on the first release of these structures! The
  4.    G5_MATES.DAT file structure is (or was) wrong! Here is what I released,
  5.  
  6.    Mate_Info = Record
  7.      Planet_Number : Byte;      WHICH PLANET RECORD GOES WITH 1 - 5
  8.      Girls_Name : String[15];   NAME OF GIRL TO FLIRT WITH ON PLANET
  9.      Guys_Name : String[15];    NAME OF GUY TO FLIRT WITH ON PLANET
  10.      Girl_MarriedTo : Integer;  GIRL MARRIED TO PLAYER NUMBER? -1 = NO ONE
  11.      Guy_MarriedTo : Integer;   GUY MARRIED TO PLAYER NUMBER? -1 = NO ONE
  12.    End; { MATE INFO
  13.  ---------------------------------------------------------------------------
  14.    And here is what it SHOULD look like,
  15.  
  16.    Mate_Info = Record
  17.      Girls_Name : String[15];   NAME OF GIRL TO FLIRT WITH ON PLANET
  18.      Guys_Name : String[15];    NAME OF GUY TO FLIRT WITH ON PLANET
  19.      Girl_MarriedTo : Integer;  GIRL MARRIED TO PLAYER NUMBER? -1 = NO ONE
  20.      Guy_MarriedTo : Integer;   GUY MARRIED TO PLAYER NUMBER? -1 = NO ONE
  21.    End; { MATE INFO
  22.  ---------------------------------------------------------------------------
  23.  
  24.   The G5_MATES.DAT record below is correct now as it should have been in the
  25.   first place. This was just a stupid mistake on my part! :(
  26.  
  27.  ****************************************************************************
  28.  
  29. -----------------------------------------------------------------------------
  30.   These are the structures to all data files used in Galaxy 5. All of the
  31.   data files that these records are held in, are located in the DATA
  32.   subdirectory, off of the home Galaxy 5 directory. Feel free to
  33.   create add on utilties, freeware, shareware, whatever. I ask for no
  34.   royalties or anything of that sort. ;> However, it would be cool if ya
  35.   would send me a copy of any utilities you create, I would like to check
  36.   em out myself! It would like, be cool or sumthin...
  37. -----------------------------------------------------------------------------
  38.  
  39.   If you are creating an Xport for Galaxy 5, please look over the XPORTS.TXT
  40.   file for full information on what you need to know.
  41.  
  42. -----------------------------------------------------------------------------
  43.  
  44. * ATTENTION *  -Changes-
  45.  
  46.   As of v1.06 Wide Beta, the "HireAmount" variable in the configuration
  47.   record has been changed from an Integer value, to a LongInt value.
  48.  
  49. -----------------------------------------------------------------------------
  50.  
  51.  These types must be defined in your program in order to be able to use
  52.  the data structures.                                                       }
  53. Type
  54.     Gender_Type = (Male, Female); { USED FOR PLAYERS GENDER }
  55.     Yes_Or_No = (Yes, No);        { EASIER THAN USING NUMBERS }
  56. {---------------------------------------------------------------------------}
  57.  
  58. { PLAYERS.DAT - Players info }
  59.  
  60.     Player_Info = Record
  61.       Number : Integer;      { POSITION OF PLAYERS RECORD IN DATA FILE }
  62.       Name : String[30];     { PLAYERS NAME AS ON BBS }
  63.       Handle : String[20];   { PLAYERS ALIAS }
  64.       Gender : Gender_Type;  { MALE OR FEMALE }
  65.       PlayerType : String[12]; { ASSASSIN, STAR PILOT, CON ARTIST }
  66.       WeaponNumber : ShortInt; { RANGE 1 - 10 }
  67.       Weapon : String[20];   { NAME OF WEAPON }
  68.       ArmourNumber : ShortInt;{ RANGE OF 1 - 10 }
  69.       Armour : String[20];   { NAME OF ARMOUR }
  70.       ShipNumber : ShortInt; { RANGE OF 1 - 10 }
  71.       Ship : String[20];     { NAME OF SHIP }
  72.       OnPlanet : ShortInt;   { NUMBER OF PLANET PLAYER IS ON 1-5 }
  73.       LastOn : String[8];    { DATE PLAYER WUZ LAST ON, 09/05/95 ETC. }
  74.       Dead : Yes_Or_No;      { IS PLAYER DEAD? }
  75.       Health : Integer;      { HOW MUCH HEALTH }
  76.       Max_Health : Integer;  { MAXIMUM HEALTH }
  77.       Strength : LongInt;    { HOW POWERFUL IS THIS PLAYER? }
  78.       Defense : LongInt;     { DEFENSIVE STRENGTH }
  79.       Rank : ShortInt;       { LEVEL OF PLAYER 1 - 15 }
  80.       Skill : LongInt;       { HOW MUCH SKILL PLAYER HAS }
  81.       Fuel : LongInt;        { HOW MUCH FUEL ON BOARD }
  82.       Looks : Integer;       { HOW GOOD LOOKING IS THE PLAYER? }
  83.       Lays : Integer;        { HOW MANY TIMES PLAYERS BEEN LAID }
  84.       Attacks : ShortInt;    { HOW MANY PLAYER FIGHTS LEFT TODAY }
  85.       Fights : ShortInt;     { HOW MANY FIGHTS LEFT TODAY }
  86.       Money : LongInt;       { HOW MUCH MONEY IN POCKET }
  87.       Bank : LongInt;        { HOW MUCH MONEY IN BANK }
  88.       Meals : ShortInt;      { HOW MANY MEALS HAS PLAYER HAD TODAY? }
  89.       Drinks : ShortInt;     { HOW MANY DRINKS HAS PLAYER HAD TODAY? }
  90.       Married : Yes_Or_No;   { PLAYER MARRIED? }
  91.       MarriedTo : Integer;   { IF PLAYER MARRIED, WHO TO DATA NUMBER? A
  92.                                NEGATIVE NUMBER HERE BETWEEN -1 AND -5, MEANS
  93.                                THAT THIS PLAYER IS MARRIED TO THE MATE AT
  94.                                THE INN OF THE PLANET SPECIFIED. -1 WOULD BE
  95.                                THE FIRST PLANET, -2 THE SECOND, ETC.        }
  96.       Expert : Yes_Or_No;    { EXPERT MODE ON? }
  97.       At_Inn : Yes_Or_No;    { SLEEPING AT AN INN? }
  98.       Flirted_Inn : Array[1..5] Of Yes_Or_No; { FLIRTED AT THE INNS? PLAYERS
  99.                                                 CAN FLIRT ONCE EACH DAY AT
  100.                                                 EACH INN                    }
  101.       Have_Bike : Yes_Or_No; { DOES THIS PLAYER HAVE A HYPER BIKE }
  102.       Power_Moves : Integer; { HOW MANY POWER MOVES LEFT }
  103.       On_Now : Yes_Or_No;     { IS PLAYER PLAYING RIGHT NOW? }
  104.       Player_Kills : Integer;{ HOW MANY OTHER PLAYERS THIS PLAYER HAS KILLED }
  105.       Rank_Battle : Yes_Or_No; { HAS PLAYER HAD A RANK BATTLE TODAY?  }
  106.       AllowedToPlay : Yes_Or_No;{ ALLOWED TO PLAY TODAY? }
  107.       Days : Integer;        { DAYS SINCE LAST PLAYED }
  108.       Medicine : Integer;    { HOW MANY MEDICINES PLAYER HAS ON HAND }
  109.       CardGames : Byte;      { HOW MANY CARDGAMES PLAYER HAS LEFT }
  110.       Coins : Integer;       { HOW MANY ENERGY COINS PLAYER HAS }
  111.     End; { PLAYER INFO RECORD }
  112.  
  113. {---------------------------------------------------------------------------}
  114.  
  115. { PLANETS.DAT - Info on the 5 planets. The "Raw" planet name must not contain
  116.                 any G5 color codes. The "CurrentPlanet" field can contain
  117.                 color codes. This is the one shown to callers as their
  118.                 current planet, and when they choose a planet after selecting
  119.                 (G)o to another planet. The "Pcolor_Dark" & "Pcolor_Light"
  120.                 fields are used to determine the color of text to be used
  121.                 with players who are on that planet. This makes it easier to
  122.                 remember which planet they are on, once they get to know
  123.                 which planet is what color.}
  124.  
  125.     Planet_Info = Record
  126.       PlanetName : String[7];     { RAW NAME OF PLANET (NO COLOR CODES) }
  127.       CurrentPlanet : String[30]; { FANCY NAME OF PLANET (COLOR OPTIONAL) }
  128.       PColor_Dark : String[4];    { DARK COLOR CODE FOR PLANET }
  129.       PColor_Light : String[4];   { LIGHT COLOR CODE FOR PLANET }
  130.     End; { PLANET RECORD }
  131.  
  132. {---------------------------------------------------------------------------}
  133.  
  134. { ENEMIES.DAT - Enemy records. These are the enemies that players encounter
  135.                 in the warfields. There can be up to 32,767 records in this
  136.                 data file. Strength, defense, etc. etc. are not contained
  137.                 in the data file. These are generated internally by the game
  138.                 each time a fight is initiated.                             }
  139.  
  140.     Enemy_Info = Record
  141.       EnemyName : String[20]; { ENEMIES NAME AS SHOWN DURING FIGHT }
  142.       Weapon : String[15];    { NAME OF ENEMIES WEAPON }
  143.       Move : String;          { STRING TO USE WHEN ENEMY GETS GOOD MOVE IN }
  144.       Wasted : String;        { STRING TO USE WHEN PLAYER KILLS ENEMY }
  145.     End; { ENEMY RECORD }
  146.  
  147. {---------------------------------------------------------------------------}
  148.  
  149. { G5_MATES.DAT - Info on the mates at each inn that the players can flirt
  150.                  with.                                                      }
  151.  
  152.     Mate_Info = Record
  153.       Girls_Name : String[15];  { NAME OF GIRL TO FLIRT WITH ON PLANET }
  154.       Guys_Name : String[15];   { NAME OF GUY TO FLIRT WITH ON PLANET }
  155.       Girl_MarriedTo : Integer; { GIRL MARRIED TO PLAYER NUMBER? -1 = NO ONE }
  156.       Guy_MarriedTo : Integer;  { GUY MARRIED TO PLAYER NUMBER? -1 = NO ONE }
  157.     End; { MATE INFO }
  158.  
  159. {---------------------------------------------------------------------------}
  160.  
  161. { G5CONFIG.DAT - Configuration data file. }
  162.  
  163. { All fields that start with a version number, denotes changes since the
  164.   shown version number                                                    }
  165.  
  166.     Config_Record = Record
  167.       AllowLays : Yes_Or_No;  { ALLOW GETTING LAID? }
  168.       MaxTransfers : Byte;    { MAXIMUM BANK TRANSFERS PER DAY }
  169.       MaxAmount : LongInt;    { MAXIMUM BANK TRANSFER AMOUNT 0 = NO LIMIT }
  170.       FightsDay : Byte;       { HOW MANY FIGHTS PER DAY }
  171.       AttacksDay : Byte;      { HOW MANY PLAYER FIGHTS PER DAY }
  172.       Interest : Integer;     { INTEREST RATE ON MONEY IN BANK (%) }
  173. {1.06}HireAmount : LongInt;   { HOW MUCH IT COSTS TO HIRE SOMEONE TO KILL
  174.                                 ANOTHER PLAYER (MULTIPLIED BY THE PLAYERS
  175.                                 RANK WHO IS BEING HIRED                  }
  176.       DSZ_Path : String;      { PATH TO DSZ, GSZ FOR TRANSFERS }
  177.       DSZ_All : Yes_Or_No;    { DOES DSZ SUPPORT ALL 3 PROTOCOLS? }
  178.       MaxMeals : Integer;     { MAXIMUM AMOUNT OF MEALS ALLOWED IN A DAY }
  179.       MaxDrinks : Integer;    { MAXIMUM AMOUNT OF DRINKS ALLOWED IN A DAY }
  180.       MealCost : Integer;     { COST TO BUY A MEAL }
  181.       DrinksCost : Integer;   { COST TO BUY A DRINK }
  182.       ANSI : String;          { ANSI RANKS BULLETIN (OR BLANK FOR NONE) }
  183.       ASCII : String;         { ASCII RANKS BULLETIN (OR BLANK FOR NONE) }
  184.       Deletion : Integer;     { DAYS TO DELETE INACTIVE PLAYERS }
  185.       Revive : Integer;       { DAYS TO REVIVE DEAD PLAYERS }
  186.       Bulletin : String;      { NAME AND/OR FULL PATH OF SYSOPS BULLETIN }
  187.       BBSName : String[30];   { NAME OF THE BBS RUNNING THE GAME }
  188.       Lock_Baud : LongInt;    { LOCKED BAUD RATE (IF ANY) }
  189.       SysOp_Message : String; { NAME OF TEXT FILE TO USE FOR WELCOME MESSAGE}
  190.       CardGames : Byte;       { HOW MANY CARD GAMES PLAYERS GET PER DAY }
  191. {1.04}Credit : String[40];    { GIVING CREDIT TO ? FOR REGISTERING G5 }
  192. {1.04}LoadEMS : Yes_Or_No;    { LOADING OVERLAYS INTO EMS? }
  193. {1.04}AllowBuy_Coins : Yes_Or_No; { ALLOW BUYING ENERGY COINS AT BANK? }
  194. {1.04}AllowSell_Coins : Yes_Or_No;{ ALLOW SELLING ENERGY COINS AT BANK? }
  195. {1.04}CoinPrice : LongInt;    { PRICE OF ENERGY COINS FOR BUYING & SELLING }
  196. {1.07}Erase100 : Yes_Or_No;   { ERASE PLAYERS WITH 100 SKILL DAILY? }
  197. {1.09}Swap : Yes_Or_No;       { SWAP OUT FOR XPORTS INSTEAD OF TERMINATING? }
  198.     End; { CONFIG RECORD }
  199.  
  200. {---------------------------------------------------------------------------}
  201.  
  202. { HIT_INFO.DAT - Info on who has hired who to kill who (if any). This file
  203.                  will not exist until someone hires another player to kill
  204.                  another player. If there is only one hired hit, then after
  205.                  the hit is made, this file is erased.                      }
  206.  
  207.     Hire_Info = Record
  208.       Player_Hired : Integer; { DATA RECORD # OF PLAYER WHO WUZ HIRED }
  209.       Hired_By : Integer;     { DATA RECORD # OF PLAYER WHO HIRED ASSASSIN }
  210.       Target : Integer;       { DATA RECORD # OF PLAYER TO BE KILLED }
  211.       DateHired : String[8];  { DATE THE PLAYER WUZ HIRED }
  212.       Made_Hit : Yes_Or_No;   { MADE THE HIT YET? }
  213.       Price : LongInt;        { PRICE THE HIT MAN WUZ HIRED FOR }
  214.     End;
  215.  
  216. {---------------------------------------------------------------------------}
  217.  
  218. { XPORTINF.DAT - Used for Xports that wish to allow players to stay a night
  219.                  in their Xport. *Read* the XPORTS.TXT file for full info
  220.                  on how to do this!                                         }
  221.  
  222.     Xport_Record = Record
  223.       PlayerNumber : Integer; { NUMBER OF THE PLAYER FROM PLAYERS.DAT }
  224.       In_Xport : Yes_Or_No;   { IS THIS PLAYER STAYING IN AN XPORT? }
  225.       XportCommand : String;  { THE COMMAND USED TO LAUNCH YOUR XPORT }
  226.       Active : Yes_Or_No;     { ALWAYS SET THIS TO YES, THEN IGNORE IT! ;) }
  227.     End;
  228.  
  229. {---------------------------------------------------------------------------}